/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Control;

import Entidad.Reporte;
import java.util.ArrayList;
import java.util.Calendar;

//Simple Moving Average
public class SMA {

private ArrayList<Reporte> reportes = new ArrayList<>();
private ArrayList<Reporte> pronosticos = new ArrayList<>();

private double promedio = 0;
private int cantidadPronosticos = 0;

//constructor default
public SMA(){}

//
public SMA(ArrayList<Reporte> reportes, int cantidadPronosticos) {
this.reportes = reportes;
this.cantidadPronosticos = cantidadPronosticos;
determinaPromedio();
}

//metodo que permite calcular el promedio de los datos ingresados
private void determinaPromedio(){
for(int i = 0 ; i < reportes.size() ; i++){
promedio += (reportes.get(i).getTemperatura());}

promedio= promedio/reportes.size();
}

//metodo que permite calcular los pronosticos
public ArrayList<Reporte> determinarPronosticos(){

pronosticos.add(new Reporte(promedio,Calendar.getInstance()));

double pronostico = 0;
for(int i = 0 ; i < cantidadPronosticos ; i++){

pronostico = ((pronosticos.get(i).getTemperatura()/reportes.size())
-(reportes.get(i).getTemperatura()/reportes.size()))
+(pronosticos.get(i).getTemperatura());
pronosticos.add(new Reporte(pronostico,Calendar.getInstance()));

}

return pronosticos;
}


}